package com.reactim.user.service;

import com.reactim.user.controller.FriendController.FriendStatus;
import com.reactim.user.dto.UserResponse;
import reactor.core.publisher.Mono;

import java.util.List;

/**
 * 好友服务接口
 */
public interface FriendService {

    /**
     * 获取好友列表
     */
    Mono<List<UserResponse>> getFriendList(String username);

    /**
     * 搜索好友
     */
    Mono<List<UserResponse>> searchFriends(String keyword);

    /**
     * 获取好友状态
     */
    Mono<FriendStatus> getFriendStatus(Long userId);

    /**
     * 添加好友
     */
    Mono<Boolean> addFriend(String username, Long friendUserId);

    /**
     * 删除好友
     */
    Mono<Boolean> removeFriend(String username, Long friendUserId);
}